package helper

// 1管理员 2运营商 3商户 4员工 5分公司 6KA项目 7渠道商 8资源商(代理商) 9 BD 10 合伙人 11 供应链接
const (
	TypeNumIsAdminAdministrator = 1
	TypeNumIsAdminOperator      = 2
	TypeNumIsAdminMerchant      = 3
	TypeNumIsAdminStaff         = 4
	TypeNumIsAdminBranch        = 5
	TypeNumIsAdminKaProject     = 6
	TypeNumIsAdminRegion        = 7
	TypeNumIsAdminResource      = 8
	TypeNumIsAdminBd            = 9
	TypeNumIsAdminPartner       = 10
	TypeNumIsAdminMsc           = 11

	// 移除
	//TypeNumIsAdminPartner = 5
	TypeNumIsAdminAgent = 3
)

// 1-商户 2-老板商户 3-KA用户
const (
	TypeNumIsPlaceAgent    = 1
	TypeNumIsPlaceEmployed = 2
	TypeNumIsPlaceKa       = 3
)

const (
	TypeNumIsDrawOpen  = 1
	TypeNumIsDrawClose = 2
)

// 用户编号前缀 ZM-分公司 SH-商户 KF-员工 DL-代理商
const (
	PrefixAgentUserNo    = "DL"
	PrefixBranchUserNo   = "ZM"
	PrefixMerchantUserNo = "SH"
	PrefixStaffUserNo    = "KF"
)

// 运营帐号/员工帐号条件
func IsAdminAndStaff(isAdminNum uint8, ParentId int) bool {
	return isAdminNum == TypeNumIsAdminAdministrator || isAdminNum == TypeNumIsAdminOperator || (isAdminNum == TypeNumIsAdminStaff && ParentId == 2)
}

// 通用状态
const (
	TypeNumCommonStatusTrue  = 1
	TypeNumCommonStatusFalse = 2
)

// 订单状态
const (
	TypeNumOrderStatusService = 2 // 服务中
	TypeNumOrderStatusFinish  = 5 // 已归还 完成
)

// 物流状态
const (
	TypeNumLogisticsStatusReceived = 3  // 签收
	TypeNumLogisticsStatusSignOut  = 10 // 退签
)

// 发送消息状态 1-取消发送 2-发送失败 3-待发送 4-已发送
const (
	TypeNumMessageStatusCancel  = 1
	TypeNumMessageStatusFail    = 2
	TypeNumMessageStatusWait    = 3
	TypeNumMessageStatusSuccess = 4
)

// 价格计费模式 12套餐 10计时
const (
	TypeNumDeviceTypePackage = 12
	TypeNumDeviceTypeTime    = 10
)

// 统计类型查询 1日查询 2月查询
const (
	TypeNumDateTypeDay   = 1
	TypeNumDateTypeMonth = 2
)

// 是否查询总数 2-否
const (
	TypeNumCountStatusNo = 2
)

// 是否参与分红 1-是 2-否
const (
	TypeNumDividendsStatusYes = 1
	TypeNumDividendsStatusNo  = 2
)

// 员工帐号状态 1-正常 2-禁用 3-待审核 4-已删除
const (
	TypeNumAccountsStatusNormal   = 1
	TypeNumAccountsStatusDisable  = 2
	TypeNumAccountsStatusAwaiting = 3
	TypeNumAccountsStatusDelete   = 4
)

// 房间状态 1-空闲 2-已预约 3-已入住 4-整理中 5-禁用
// 房间订单状态 1-待支付 2-待守约 3-已撤消 4-已支付待消费 5-订单完成 6-已撤消
const (
	TypeNumRoomStatusLeisure = 1

	TypeNumRoomOrderStatusWait     = 1
	TypeNumRoomOrderStatusDoneWait = 4
	TypeNumRoomOrderStatusDone     = 5
	TypeNumRoomOrderStatusRepeal   = 6
)

// 商品类型 1-优惠券 2-现金红包 3-实物商品
// 商品订单状态 1-待支付 2-已支付 3-待发货 4-已发货 5-取消 6-已撤销
const (
	TypeNumGoodsTypeCoupon    = 1
	TypeNumGoodsTypeCash      = 2
	TypeNumGoodsTypeMaterials = 3

	TypeNumGoodsOrderStatusWait    = 1
	TypeNumGoodsOrderStatusDonePay = 2
	TypeNumGoodsOrderStatusShipped = 4
	TypeNumGoodsOrderStatusCancel  = 5
	TypeNumGoodsOrderStatusRepeal  = 6
)

// 服务类型 1-清扫 2-日用品更换 3-维修 4-呼叫服务 5-开票服务
// 6-续住 7-退房 8-电子优惠券 9-好评有礼 10-投诉建议 11-客房超市 12-叫醒服务 13-售货机补货
const (
	TypeNumNotificationTypeContinues     = 6
	TypeNumNotificationTypeGoods         = 11
	TypeNumNotificationTypeReplenishment = 13
)

// 通知状态 1-取消发送 2-发送失败 3-待发送 4-已发送/待处理 5-处理中 6-已处理
const (
	TypeNumNotificationStatusWait     = 3
	TypeNumNotificationStatusPending  = 4
	TypeNumNotificationStatusProgress = 5
	TypeNumNotificationStatusFinish   = 6
)

// 公告状态 1-开启 2-关闭 3-审核中 4-审核不通过
const (
	TypeNumBulletinStatusOpen  = 1
	TypeNumBulletinStatusClose = 2
	TypeNumBulletinStatusWait  = 3
	TypeNumBulletinStatusFail  = 4
)

// 门店投诉建议状态 1-等待处理 2-处理中 3-已处理 4-忽略
const (
	TypeNumPlaceReportsStatusWait   = 1
	TypeNumPlaceReportsStatusIgnore = 4
)

// 优惠券状态：1-未开始 2-进行中 3-已结束
const (
	TypeNumOrderCouponStatusNotStarted  = 1
	TypeNumOrderCouponStatusNotUnderway = 2
)

// 优惠券使用状态：1-未发放 2-未使用 3-已使用
const (
	TypeNumOrderCouponRecordStatusNotGrant = 1
	TypeNumOrderCouponRecordStatusNotUse   = 2
	TypeNumOrderCouponRecordStatusUse      = 3
)

// 服务订单提现审核状态 1-审核中 2-审核不通过 3-审核通过
// 转帐状态 1-未处理 2-转帐中 3-已转帐
const (
	TypeNumCashOrderLogVerifyStatusReview    = 1
	TypeNumCashOrderLogVerifyStatusNotReview = 2
	TypeNumCashOrderLogVerifyStatusPass      = 3

	TypeNumCashOrderLogStatusReview = 1
	TypeNumCashOrderLogStatusDone   = 3
)

// 订单类型 1-房间续住 2-客房超市
const (
	TypeNumCashOrderLogOrderTypeRoom     = 1
	TypeNumCashOrderLogOrderTypeGoods    = 2
	TypeNumCashOrderLogOrderTypeAutomate = 3
)

// 领取状态 1-已领取 2-未领取 3-已过期
const (
	TypeNumRedPacketStatusAlready    = 1
	TypeNumRedPacketStatusNotAlready = 2
	TypeNumRedPacketStatusPast       = 3
)

// 会员包月订单 自动续费状态 1-正常 2-未授权 3-已续费 4-己关闭授权
// 订单状态 1-待支付 2-待守约 3-已取消 5-订单完成 6-已撤销
const (
	TypeNumOrderMonthlyRenewStatusNormal       = 1
	TypeNumOrderMonthlyRenewStatusUnauthorized = 2
	TypeNumOrderMonthlyRenewStatusToPay        = 3
	TypeNumOrderMonthlyRenewStatusClose        = 4

	TypeNumOrderMonthlyStatusWait       = 1
	TypeNumOrderMonthlyStatusCompletion = 5
	TypeNumOrderMonthlyStatusRepeal     = 6
)

// 门店状态 1启用 2禁用 3问题商户 4审核中 5审核不通过
const (
	TypeNumPlaceStatusYes      = 1
	TypeNumPlaceStatusNo       = 2
	TypeNumPlaceStatusINReview = 4
	TypeNumPlaceStatusNoReview = 5
)

// 商品状态 1-未上架 2-已上架 3-已下架 4-已删除 5-审核中 6-审核不通过
const (
	TypeNumGoodsStatusNotOn  = 1
	TypeNumGoodsStatusYesOn  = 2
	TypeNumGoodsStatusDelete = 4
)

// 售货机订单状态 1-待支付 2-待发货 5-订单完成 6-已撤销 7-退款中
const (
	TypeNumOrderAutomateStatusWaitPay        = 1
	TypeNumOrderAutomateStatusWaitSend       = 2
	TypeNumOrderAutomateStatusWaitDone       = 5
	TypeNumOrderAutomateStatusWaitRevocation = 6
	TypeNumOrderAutomateStatusWaitRefund     = 7
)

// GPP结算推送状态 1-待推送 2-推送成功 3-推送失败 4-取消
const (
	TypeNumGppPlaceSettlementWait    = 1
	TypeNumGppPlaceSettlementSuccess = 2
	TypeNumGppPlaceSettlementFail    = 3
)
